GNU-Linux not Linux.md
ASCII text
title: A Reason to Call it GNU/Linux topics: ["gnu/linux", "linux", "free software", "android"] ---
Linux isn't very Unix-like by itself. Of course, it's a Unix-like kernel, and it does Unix-compatible file operations, process management, and system calls, but without the GNU suite or some other userland, it is just a kernel which doesn't have to be used as a Unix-like one.
Linux is Unix-like, but not all OSes which contain Linux take advantage of that.
Android basically uses Linux like a fancy bootloader. The only thing that runs there is toybox, which technically are Unix utilities, but the user can't interact with them, and a JVM. Everything the user does is done in Java.
In Android, if you only consider the actual platform that is used for making software, that platform is Java, not Unix. No matter how hard you try, Android isn't designed to run Unix packages natively. Of course it can, but that doesn't make it Unix-like, since the intended way to run applications is in Java.
Calling an OS by its kernel is wrong; the kernel doesn't determine the nature of the OS. We don't call Windows "NT" or MacOS "Darwin".
If you call GNU/Linux "Linux", why not call Android "Linux" as well? They're not compatible with each other, but technically the name Linux works for both according to your logic.
GNU/Linux means just that: GNU on the Linux kernel. There is a GNU kernel as well, the Hurd, but most commonly we substitute it with Linux. There used to be Debian GNU/kFreeBSD, which used the FreeBSD kernel, and there is GNU/Darwin, and GNU/Hurd, and so on. They didn't invent a name for that combination, but it still doesn't deserve to be named after its kernel. GNU/Linux is more compatible with GNU/Hurd or NetBSD (even without GNU) than with Android, Tizen, ChromeOS or whatever else happens to contain Linux and use it but don't take advantage of its Unix-like nature.
The fact that Android can run GNU/Linux in chroot
doesn't mean anything; the core system is
not GNU; but the kernel still knows how to run GNU software so it will run it. But that doesn't
make Android GNU/Linux; it would be like saying your machine is Debian when it's actually OpenSUSE
and you have a Debian chroot.
If someone made a system with the Windows NT kernel but not the Windows userland and GUI, would you still call that Windows? No; it is NT but that doesn't mean it's Windows, as it doesn't have what makes Windows run Windows software.
Obligatory copypasta:
I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called "Linux", and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called "Linux" distributions are really distributions of GNU/Linux!
1--- 2title: A Reason to Call it GNU/Linux 3topics: ["gnu/linux", "linux", "free software", "android"] 4--- 5 6Linux isn't very Unix-like by itself. Of course, it's a Unix-like *kernel*, and it 7does Unix-compatible file operations, process management, and system calls, but without the GNU 8suite or some other userland, it is just a kernel which doesn't have to be used as a Unix-like 9one. 10 11Linux is Unix-like, but not all OSes which contain Linux take advantage of that. 12 13Android basically uses Linux like a fancy bootloader. The only thing that runs there is toybox, 14which technically are Unix utilities, but the user can't interact with them, and a JVM. 15Everything the user does is done in Java. 16 17In Android, if you only consider the actual platform that is used for making software, that 18platform is Java, not Unix. No matter how hard you try, Android isn't designed to run Unix packages 19natively. Of course it can, but that doesn't make it Unix-like, since the intended way to run 20applications is in Java. 21 22Calling an OS by its kernel is wrong; the kernel doesn't determine the nature of the OS. We don't 23call Windows "NT" or MacOS "Darwin". 24 25If you call GNU/Linux "Linux", why not call Android "Linux" as well? They're not compatible with 26each other, but technically the name Linux works for both according to your logic. 27 28GNU/Linux means just that: GNU on the Linux kernel. There is a GNU kernel as well, the Hurd, but 29most commonly we substitute it with Linux. There used to be Debian GNU/kFreeBSD, which used the 30FreeBSD kernel, and there is GNU/Darwin, and GNU/Hurd, and so on. They didn't invent a name for 31that combination, but it still doesn't deserve to be named after its kernel. GNU/Linux is more 32compatible with GNU/Hurd or NetBSD (even without GNU) than with Android, Tizen, ChromeOS or 33whatever else happens to contain Linux and use it but don't take advantage of its Unix-like 34nature. 35 36The fact that Android can run GNU/Linux in `chroot` doesn't mean anything; the core system is 37not GNU; but the kernel still knows how to run GNU software so it will run it. But that doesn't 38make Android GNU/Linux; it would be like saying your machine is Debian when it's actually OpenSUSE 39and you have a Debian chroot. 40 41If someone made a system with the Windows NT kernel but not the Windows userland and GUI, would 42you still call that Windows? No; it *is* NT but that doesn't mean it's Windows, as it doesn't 43have what makes Windows run Windows software. 44 45Obligatory copypasta: 46 47> I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, 48> or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto 49> itself, but rather another free component of a fully functioning GNU system made useful by the GNU 50> corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. 51> 52> Many computer users run a modified version of the GNU system every day, without realizing it. Through 53> a peculiar turn of events, the version of GNU which is widely used today is often called "Linux", 54> and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. 55> 56> There really is a Linux, and these people are using it, but it is just a part of the system they use. 57> Linux is the kernel: the program in the system that allocates the machine's resources to the other 58> programs that you run. The kernel is an essential part of an operating system, but useless by itself; 59> it can only function in the context of a complete operating system. Linux is normally used in 60> combination with the GNU operating system: the whole system is basically GNU with Linux added, or 61> GNU/Linux. All the so-called "Linux" distributions are really distributions of GNU/Linux! 62